package com.gopay.common.domain.ep;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.gopay.common.cipher.utils.SensitiveInfoUtils;
import com.gopay.common.constants.ep.EpBindState;
import com.gopay.common.constants.ep.EpCardType;
import com.gopay.common.domain.BaseEntity;

/**
 * 快捷支付卡绑定信息vo
 * @author lizheng
 *
 */
public class EpCardBindInfoVo extends BaseEntity {
    
    private static final long serialVersionUID = -6199416436301767111L;

    public static final String CARD_TYPE_CREDIT = "CREDIT";
    public static final String CARD_TYPE_DEBIT = "DEBIT";

    private Integer sq;

    private String custId;
    
    private String bindMobile;

    private String certType;

    private String certNo;
    
    private String bankAcctNum;

    private String bankCode;

    private String cardType;

    private Date bindTime;

    private Date unBindTime;

    private String creditCardExpired;

    private String bankAcctName;
    
    private Date createdTs;
    
    private Date lastUpdTs;
    
    private String bankName;
    
    /**
     * 卡是否可用
     */
    private String cardStatus;
    
    public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getCardType() {
		return cardType;
	}

	public void setCardType(String cardType) {
		this.cardType = cardType;
	}

	public String getCustId() {
        return custId;
    }

    public void setCustId(String custId) {
        this.custId = custId;
    }

    public String getBindMobile() {
        return bindMobile;
    }

    public void setBindMobile(String bindMobile) {
        this.bindMobile = bindMobile;
    }

    public String getCertType() {
        return certType;
    }

    public void setCertType(String certType) {
        this.certType = certType;
    }

    public String getCertNo() {
        //return certNo;
    	//modified by zyt，对敏感信息字段做解密操作 2017-1-5
        return SensitiveInfoUtils.smartDecryptWithCheck(certNo);
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    public String getBankAcctNum() {
        //return bankAcctNum;
    	//modified by zyt，对敏感信息字段做解密操作 2017-1-5
        return SensitiveInfoUtils.smartDecryptWithCheck(bankAcctNum);
    }

    public void setBankAcctNum(String bankAcctNum) {
        this.bankAcctNum = bankAcctNum;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }


    public Date getBindTime() {
        return bindTime;
    }

    public void setBindTime(Date bindTime) {
        this.bindTime = bindTime;
    }

    public Date getUnBindTime() {
        return unBindTime;
    }

    public void setUnBindTime(Date unBindTime) {
        this.unBindTime = unBindTime;
    }

    public String getCreditCardExpired() {
        //return creditCardExpired;
    	//modified by zyt，对敏感信息字段做解密操作 2017-1-5
        return SensitiveInfoUtils.smartDecryptWithCheck(creditCardExpired);
    }

    public void setCreditCardExpired(String creditCardExpired) {
        this.creditCardExpired = creditCardExpired;
    }


    public String getBankAcctName() {
        //return bankAcctName;
    	//modified by zyt，对敏感信息字段做解密操作 2017-1-5
        return SensitiveInfoUtils.smartDecryptWithCheck(bankAcctName);
    }

    public void setBankAcctName(String bankAcctName) {
        this.bankAcctName = bankAcctName;
    }


	public Date getCreatedTs() {
		return createdTs;
	}

	public void setCreatedTs(Date createdTs) {
		this.createdTs = createdTs;
	}

	public Date getLastUpdTs() {
		return lastUpdTs;
	}

	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}

    public Integer getSq() {
        return sq;
    }

    public void setSq(Integer sq) {
        this.sq = sq;
    }

	public String getCardStatus() {
		return cardStatus;
	}

	public void setCardStatus(String cardStatus) {
		this.cardStatus = cardStatus;
	}
    
}
